package com.ruoyi.backend.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.constraints.NotNull;
import java.time.LocalDate;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class RestorationDataUploadDTO {

    public interface Upload {
    }

    private Integer id;

    @NotNull(groups = {Upload.class}, message = "生态修复工程数据文件不能为空")
    private MultipartFile file;

    @NotNull(groups = {Upload.class}, message = "生态修复工程ID不能为空")
    private Integer restorationId;

    @NotNull(groups = {Upload.class}, message = "生态修复工程数据报告ID不能为空")
    private Integer reportId;

    @NotNull(groups = {Upload.class}, message = "生态修复工程数据报告名称不能为空")
    private String reportName;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @NotNull(groups = {Upload.class}, message = "生态修复工程数据报告时间不能为空")
    private LocalDate reportTime;

    @NotNull(groups = {Upload.class}, message = "生态修复工程数据报告类型不能为空")
    private String reportType;

    @NotNull(groups = {Upload.class}, message = "生态修复工程数据文件类型不能为空")
    private String fileType;

    private String minioBucketName;

    private String minioFileName;

    @NotNull(groups = {Upload.class}, message = "生态修复工程数据EPSG编码不能为空")
    private Integer epsgCode;

    private String reportNote;

    private String periodName;

    private String periodTimepoint;

}
